#ifndef BLENDED_STEERING_H
#define BLENDED_STEERING_H

#include <vector>
#include "SteeringBehaviour.h"

namespace Engine
{
	class BlendedSteering : public SteeringBehaviour
	{
		protected:
			typedef std::vector <WeightedSteeringBehaviour> WeightedSteeringBehaviourVec;
			WeightedSteeringBehaviourVec m_behaviours;

		public:
			//pure virtual and meant to be derived from
			//all blended steering classes will derive from this one
			virtual ~BlendedSteering() = 0 {}

			//inherited from SteeringBehaviour
			virtual void Update(SteeringOutput* output) override;
			virtual void SetParent(Agent* parent) override;
			virtual void SetTarget(Agent* target) override;
			virtual void Draw() override;
	};
}

#endif